/*
* This file is a part of the open-eBackup project.
* This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0.
* If a copy of the MPL was not distributed with this file, You can obtain one at
* http://mozilla.org/MPL/2.0/.
*
* Copyright (c) [2024] Huawei Technologies Co.,Ltd.
*
* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
* EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
* MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
*/
#include "HcsNovaClient.h"
#include "protect_engines/hcs/utils/HCSTokenMgr.h"

namespace {
const std::string MODULE_NAME = "HcsNovaClient";
using Defer = std::shared_ptr<void>;
}

HCS_PLUGIN_NAMESPACE_BEGIN

bool HcsNovaClient::UpdateToken(ModelBase &request, std::string &tokenStr)
{
    if (!HCSTokenMgr::GetInstance().ReacquireToken(request, tokenStr)) {
        ERRLOG("Get token failed.");
        return false;
    }
    return true;
}

bool HcsNovaClient::GetTokenEndPoint(ModelBase &request, std::string &tokenStr, std::string &endpoint)
{
    if (!HCSTokenMgr::GetInstance().GetToken(request, tokenStr, endpoint)) {
        ERRLOG("Get token failed.");
        return false;
    }
    return true;
}

HCS_PLUGIN_NAMESPACE_END